int test01() {
    int a = 10;
    int *b = &a;
    int **c = &b;
    return **c;
}

int test02() {
    int x = 3;
    int y = 4;
    int *z = &x;
    *(z+1) = 10;
    y;
}

int test03() {
    int x = 3;
    int y = 4;
    int *z = &y;
    *(z-1) = 10;
    x;
}

int test04() {
    int x = 3;
    int y = 4;
    int *z1 = &x;
    int *z2 = &y;
    z2 - z1;
}

int test05() {
    int x = 3;
    int y = 4;
    int *z1 = &x;
    int *z2 = &y;
    z1 - z2;
}

int main() {
    assert(10, test01());
    assert(10, test02());
    assert(10, test03());
    assert(1, test04());
    assert(-1, test05());
}